#nullable enable

using System;
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
using Volo.Abp.EventBus.Local;

namespace PHMEE.Managers.Diagnosis;

// public interface IAlarmRecordAckedEventPublisher : ITransientDependency
// {
//     /// <summary>
//     /// 发布报警记录确认事件
//     /// </summary>
//     /// <param name="alarmRecordId"></param>
//     /// <param name="unitId"></param>
//     /// <param name="equipId"></param>
//     /// <param name="isAcked"></param>
//     Task PublishAlarmRecordAckedEventAsync(Guid alarmRecordId, Guid unitId, Guid? equipId, bool isAcked);
// }
//
// public class AlarmRecordAckedEventPublisher : IAlarmRecordAckedEventPublisher
// {
//     private readonly ILocalEventBus _localEventBus;
//
//     public AlarmRecordAckedEventPublisher(ILocalEventBus localEventBus)
//     {
//         _localEventBus = localEventBus;
//     }
//     
//     /// <summary>
//     /// 发布报警记录确认事件
//     /// </summary>
//     /// <param name="alarmRecordId"></param>
//     /// <param name="unitId"></param>
//     /// <param name="equipId"></param>
//     /// <param name="isAcked"></param>
//     public async Task PublishAlarmRecordAckedEventAsync(Guid alarmRecordId, Guid unitId, Guid? equipId, bool isAcked)
//     {
//         var eto = new AlarmRecordAckedEto
//         {
//             Id = alarmRecordId,
//             UnitId = unitId,
//             EquipId = equipId,
//             IsAcked = isAcked
//         };
//
//         await _localEventBus.PublishAsync(eto);
//     }
// }
//
// /// <summary>
// /// 报警记录确认事件
// /// </summary>
// public class AlarmRecordAckedEto
// {
//     /// <summary>
//     /// AlarmRecord Id
//     /// </summary>
//     public Guid Id { get; set; }
//
//     /// <summary>
//     /// 机组 Id
//     /// </summary>
//     public Guid UnitId { get; set; }
//
//     /// <summary>
//     /// 设备 Id（仅当测点关联到设备时有效）
//     /// </summary>
//     public Guid? EquipId { get; set; }
//
//     /// <summary>
//     /// 确认状态
//     /// </summary>
//     public bool IsAcked { get; set; }
// }